#pragma once

#include <string>
#include <queue>
#include <vector>

#include "Card.h"
#include "Player.h"

namespace Cards {
	typedef std::vector<Cards::Card*> AllCards;
	typedef std::vector<Cards::PlayerCard*> PlayersCards;
	typedef std::vector<Cards::WeaponCard*> WeaponsCards;
	typedef std::vector<Cards::RoomCard*> RoomsCards;

	class CardsCollection
	{
	protected:
		PlayersCards players_cards;
		WeaponsCards weapons_cards;
		RoomsCards rooms_cards;

	public:
		CardsCollection();
		CardsCollection(PlayersCards players_cards, WeaponsCards weapons_cards, RoomsCards rooms_cards);

		PlayersCards getPlayersCards();
		WeaponsCards getWeaponsCards();
		RoomsCards getRoomsCards();
	};
}
